package cn.bonoon.kernel.web.annotations.condition;

import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;


/**
 * <pre>
 * 如果类型<code>type</code>被定义为以下类型：
 * <code>COMBOBOX,COMBOTREE,COMBOGRID</code>
 * 
 * 可以使用<code>{@link cn.bonoon.kernel.web.annotations.AutoDataLoader @AutoDataLoader}</code>来自动加载数据
 * 如果使用了自动加载数据，则<code>url</code>属性不需要指定值，该值无效
 * 
 * 本注解不能与{@link ConditionTree @ConditionTree}同时使用，
 * 如果同时出现则本注解优先
 * 
 * 用来与被查询的字段的绑定的设置需要使用{@link cn.bonoon.kernel.annotations.condition.ConditionField @ConditionField}
 * 
 * 生成查询界面的样式的指定可以使用{@link ConditionStyle @ConditionStyle}
 * </pre>
 * @author jackson
 *
 */
@Target(FIELD)
@Retention(RUNTIME)
public @interface ConditionContent {
	/**
	 * 该查询字段的名称
	 * @return
	 */
	String value() default "";

	int headWidth() default 0;

	int width() default 0;
	/**
	 * <pre>
	 * 默认值为10，小于10则在前面，大于10则在后面；对先后顺序不敏感的一些条件可以使用默认值
	 * </pre>
	 * @return
	 */
	int ordinal() default 10;

	/**
	 * 本查询条件使用哪一类型的UI控件
	 * @return
	 */
	ConditionUI ui() default ConditionUI.NONE;

	String url() default "";

	/**
	 * <pre>
	 * 0表示没有夸列,即对应html代码里的colspan="1"的情况.
	 * 大于小的表示有夸列,1表示夸1列,对应html代码为colspan="3"
	 * 
	 * <font color='red'>注意:夸一列是两个table的格,是一对&lt;th&gt;&lt;/th&gt;&lt;td&gt;&lt;/td&gt;</font>
	 * </pre>
	 * 
	 * @return
	 */
	int colspan() default 0;
}
